home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 6 code / Threads / Threads Package 2.0d17 / Futures.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-10  |  916 b   |  41 lines  |  [TEXT/MPS ]

  1. #ifndef __FUTURES__
  2. #define __FUTURES__
  3.  
  4. #include <AppleEvents.h>
  5.  
  6. #define kFuturesNotInitedErr        -2707
  7.  
  8. /*
  9. //    Think C does not handle Pascal procedures very well.
  10. //    The CallPascal() function must be used.
  11. */
  12. #ifdef THINK_C
  13.     typedef OSErr (*FuturesProc)(AppleEvent* message);
  14. #else
  15.     typedef pascal OSErr (*FuturesProc)(AppleEvent* message);
  16. #endif
  17.  
  18.  
  19. struct FuturesProcTbl
  20. {
  21.     FuturesProc            fThreadBlock;
  22.     FuturesProc            fThreadUnblock;
  23. };
  24.  
  25. typedef struct FuturesProcTbl FuturesProcTbl;
  26.  
  27. /*
  28. //    Futures prototypes:
  29. */
  30. pascal OSErr    ThreadBlock(AppleEvent* message);
  31. pascal OSErr    ThreadUnblock(AppleEvent* message);
  32. pascal OSErr    InitFutures();
  33. pascal OSErr    BlockUntilReal(AppleEvent* message);
  34. pascal Boolean    IsFuture(AppleEvent* message);
  35. pascal OSErr    Ask(AppleEvent* question, AppleEvent* answer);
  36. pascal OSErr    DisposeFuture(AppleEvent* future);
  37.  
  38. pascal SemaphoreHandle    GetFutureSemaphore( AppleEvent* future );
  39.  
  40. #endif
  41.